Non-volatile random-access memory